Mysql查询慢

您所在的位置:网站首页 mysql很卡 cpu不高 Mysql查询慢

Mysql查询慢

2023-12-17 12:09| 来源: 网络整理| 查看: 265

Mysql查询过慢-内存优化(一) 缓存池什么是缓存池排查是否缓冲池问题修改缓冲池内存大小查看缓存池当前大小临时运行时修改配置文件中修改

缓存池

如果你的mysql在部署时,未设置缓存池。应用在使用过程中很慢的时候,可以从这块入手。

什么是缓存池

Mysql的一个内存缓存,用来提高使用mysql的响应和写入速度,如果内存吃满,就会从磁盘通过io获取数据。 mysql在做增、删、改、查时,会使用到缓存池。

排查是否缓冲池问题

查询缓冲池命中率:show status like ‘Innodb_buffer_pool_read%’; 在这里插入图片描述

Vaiable_name说明Innodb_buffer_pool_read_requests从缓存中交互数据的次数Innodb_buffer_pool_reads从硬盘交互数据的次数

当您查询的数据,如果硬盘交互次数很高,说明缓存不够用了,命中率跟你的实际情况来定,建议能命中90%以上

修改缓冲池内存大小 查看缓存池当前大小

查询缓冲池内存状态:show variables like ‘innodb_buffer_pool%’; 在这里插入图片描述

Vaiable_name说明innodb_buffer_pool_size缓存池内存大小,默认128Minnodb_buffer_pool_instances并发处理缓存池的实例数,大于1G默认8,小于1G默认1innodb_buffer_pool_chunk_size缓存池中每一块的大小,默认128M

从这里看出,现在设置: 缓存池大小:innodb_buffer_pool_size=2G 并发8个实例:innodb_buffer_pool_instances=8

临时运行时修改

在线修改大小:set global innodb_buffer_pool_size = 2147483648 global innodb_buffer_pool_size的值,必须是innodb_buffer_pool_chunk_size的倍数,就是128M的倍数就可以

配置文件中修改

在这里插入图片描述

在配置文件中[mysql]下添加:innodb_buffer_pool_size=2G 重启Mysql服务器生效

命令界面查询:show variables like ‘innodb_buffer_pool%’; 查看是否修改成功



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3